Though the basic principles of evaluating the extreme values of a given function are known, increasing demand exists for apparatus able to perform such evaluation at increased speed. The demand arises from different technical fields, such as process control and communication network control. In these technical fields, often a physical or technical parameter is observed as a function of time or space. These functions or their derivatives serve as input to a control unit, such as a microcomputer or the like.
After evaluating the input measurement, the control unit activates or instructs the subsequent operating units. Part of the evaluation process often includes a min-max problem or a comparison of the values of the measured function to a given reference value. In general, these problems are solved by known numerical techniques or algorithms cast into a code executable by the controlling processor. The speed of these known techniques crucially depend on the instruction cycle time of the microprocessor.
Although this cycle time has been significantly decreased in the past, real-time applications demand a higher execution speed than known programmed general purpose processors can provide. One important example of such a high-speed application relates to communication networks, where data transfer rates are approaching the Gbit/s (billion bits per second) region. Specific types of networks are described in the following background as the examples. However, due to its general applicability, the scope of the invention is not restricted to this specific technical field.
In a communication network, multiple users or nodes are interconnected by at least one transmission medium. Transmission media include twisted pairs of wire, baseband and broadband coaxial cable, and optical fibers. Depending on the technical field, names like bus, channel, tree, net, or ring are used to characterize the mode or topology in which the users are connected by said transmission media. Examples for these networks are electronic components of a computer interconnected by a bus and the networks known as LAN or MAN. Local area networks (LANs) are described, for example, in Computing Surveys, Volume 16, No. 1, March 1984, pages 3-41. Metropolitan area networks (MANs) are described, for example, in IEEE Communications Magazine, Volume 24, No. 1, January 1986, pages 9-14.
Participation of multiple users in a network requires schemes and devices for controlling the access of the users to the network for directing the data from the sending or calling user to the receiving user, for preventing the loss of data, and the like. These schemes are generally known as medium access control protocols. Protocolling may be performed by one (centralized system) or several (distributed system) devices connected to the network. Depending on the type of network, protocols, like carrier sensing multiple access (CSMA), token bus, token ring, register insertion, and slotted ring are known. Several of these protocols are described in the reference cited above.
One specific type of protocol is known as cyclic reservation multiple access (CRMA), extensively described in LAN 92, Ninth Annual EFOC/LAN Conference, London, June 1992, pp. 162-169.
A major task of a protocol is to guarantee a fair access of all users or nodes to the connecting network by predetermined criteria. These criteria may include the designation of priorities to certain nodes, the balance between heavy users of the network and occasional users, and managing access loads that exceed the maximum throughput of the network.
To fulfill its tasks, a protocol heavily depends on microcontrollers and algorithms to optimize the network's overall performance. In U.S. Pat. No. 4,630,264, for example, algorithms for a CSMA protocol with collision detection are disclosed. The calculations according to these algorithms often form the bottleneck of the network's throughput capacity.